.\" shorthand for double quote that works everywhere.
.ds q \N'34'
.TH Xserver-xorg-video-loongson __drivermansuffix__ __vendorversion__
.SH NAME
loongson \- User space video driver for loongson display controller and GPU
.SH SYNOPSIS
.nf
.B "Section \*qOutputClass\*q"
.BI "  Identifier \*q"  LOONGSON-DC \*q
.B  "  Driver \*qloongson\*q"
\ \ ...
.B EndSection
.fi
.SH DESCRIPTION
.B loongson
is an __xservername__ video driver for the kernel driver which name is the value of "MatchDriver" in 20-loongson.conf. Note that 3D acceleration is available through enable the EXA layer. If the fake EXA accerelation is not enabled, then this driver will fallback to shadowfb. This driver supports TrueColor visuals at framebuffer depths of 15, 16, 24, and 30.

.SH SUPPORTED HARDWARE
The
.B loongson
driver supports loongson display controller in LS7A1000 and LS2K1000 which kernel driver name is loongson-drm.
.SH CONFIGURATION DETAILS
Please refer to __xconfigfile__(__filemansuffix__) for general configuration
details. This section only covers configuration details specific to
this driver.
.PP
For this driver it is not required to specify modes in the screen
section of the config file. The
.B loongson
driver can pick up the currently used video mode from the kernel
driver and will use it if there are no video modes configured.
.PP
For PCI boards you might have to add a BusID line to the Device
section. See above for a sample line.
.PP
The following driver
.B Options
are supported:
.TP
.BI "Option \*qkmsdev\*q \*q" string \*q
The framebuffer device to use.  Default: /dev/dri/card0.
.TP
.BI "Option \*qShadowFB\*q \*q" boolean \*q
Enable or disable use of the shadow framebuffer layer.  Default: on.
.TP
.BI "Option \*qPrimaryGPU\*q \*q" boolean \*q
This option specifies that the matched device should be treated as the primary GPU, replacing the selection of the GPU used as output by the firmware. If multiple output devices match an OutputClass section with the PrimaryGPU option set, the first one enumerated becomes the primary GPU.  Default: on
.TP
.BI "Option \*qAccelMethod\*q \*q" string \*q
Acceleration method to use. First try glamor then try EXA. If both failed then fallback to the shadowfb.
.TP
.BI "Option \*qSWcursor\*q \*q" boolean \*q
Enable or disable use of the software cursor.  Default: on
.TP
.BI "Option \*qExaType\*q \*q" string \*q
Acceleration method of the EXA: "fake", "software", "vivante", "etnaviv".  Default: fake
.TP
.BI "Option \*qAtomic\*q \*q" boolean \*q
Enable or disable use of the Atomic.  Default: on
.TP
.BI "Option \*qDoubleShadow\*q \*q" boolean \*q
Double-buffer shadow updates. When enabled, the driver will keep two copies of the shadow framebuffer. When the shadow framebuffer is flushed, the old and new versions of the shadow are compared, and only tiles that have actually changed are uploaded to the device. This is an optimization for server-class GPUs with a remote display function (typically VNC), where remote updates are triggered by any framebuffer write, so minimizing the amount of data uploaded is crucial. This defaults to enabled for ASPEED and Matrox G200 devices, and disabled otherwise.  Default: on
.TP
.BI "Option \*qPageFlip\*q \*q" boolean \*q
Enable DRI3 page flipping.  Default: on
.TP
.SH "SEE ALSO"
__xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), Xserver(__appmansuffix__),
X(__miscmansuffix__)
.SH AUTHORS
Authors include: suijingfeng <suijingfeng@loongson.cn> zhaojiale <zhaojiale@loongson.cn>
